A Parallel Virtual Machine for Executing Forward-Chaining Linear Logic Programs
نویسندگان
چکیده
Linear Meld is a concurrent forward-chaining linear logic programming language where logical facts can be asserted and retracted in a structured way. The database of facts is partitioned by the nodes of a graph structure which leads to parallelism if nodes are executed simultaneously. Communication arises whenever nodes send facts to other nodes by fact derivation. We present an overview of the virtual machine that we implemented to run Linear Meld on multicores, including code organization, thread management, rule execution and database organization for efficient fact insertion, lookup and deletion. Although our virtual machine is a work-in-progress, our results already show that Linear Meld is not only capable of scaling graph and machine learning programs but it also exhibits some interesting performance results when compared against other programming languages.
منابع مشابه
Forward and Backward Chaining in Linear Logic
Logic programming languages based on linear logic are of both theoretical and practical interest, particulaly because such languages can be seen as providing a logical basis for programs which execute within a dynamic environment. Most linear logic programming languages are implemented using standard resolution or backward chaining techniques. However, there are many applications in which the c...
متن کاملArchitecture of a Virtual Machine for Functional Logic Computations
We describe the architecture of a virtual machine for executing functional logic programming languages. A distinguishing feature of our machine is that it preserves the operational completeness of non-deterministic programs by concurrently executing a pool of independent computations. Each computation executes only root-needed sequential narrowing steps. We describe the machine’s architecture a...
متن کاملThe L 10 logic programming language
We present the preliminary design of L10, a rich forward-chaining (a.k.a. “bottom-up”) logic programming language. L10 allows parallel computation to be explicitly specified through the use of worlds, a logically-motivated concept that has been used to describe distributed functional programming. An interpreter for L10 runs these logic programs on top of the infrastructure of the X10 programmin...
متن کاملDeclaratively distributed deductive databases The L10 logic programming language
We present the design of L10, a rich forward-chaining (a.k.a. “bottom-up”) logic programming language. L10 allows parallel computation to be explicitly specified through the use of worlds, a logically-motivated concept that has been used to describe distributed functional programming. An interpreter for L10 runs these logic programs on top of the infrastructure of the X10 programming language, ...
متن کاملA Virtual Machine for Functional Logic Computations
We describe the architecture of a virtual machine for executing functional logic programming languages. A distinguishing feature of our machine is that it preserves the operational completeness of non-deterministic programs by concurrently executing a pool of independent computations. Each computation executes only root-needed sequential narrowing steps. We describe the machine’s architecture a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014